Computing devices include various combinations of hardware and software which enable the user to, among other things, interact with a computing system. One example of a modern user-interface is “voice control” that may allow a user to provide speech data to a speech recognition module of a computing system. The data may be received, translated into text, and processed by the speech recognition module, and may ultimately be used by the computing system as a basis for executing certain computing functions. Speech recognition modules continue to be more useful for users who need free use of their hands and control of a computing device simultaneously. For example, a doctor performing surgery may take advantage of a speech recognition module in order to execute commands on a computing device while operating on a patient with his or her hands.
A speech recognition system may need to learn how users articulate various sounds of speeches through processing large databases of recordings of speech queries (referred to as utterances). However, a speech recognition system may encounter problems trying to understand a user's input. For example, a speech recognition module may receive inputs from different users who have various vocal pitches, pronounce words differently, and emphasize different portions of words, etc. In addition, a speech recognition system may detect background noises, the wind, or other interruptions that may be confused for input from the user. Speech recognition systems may have to overcome these obstacles along with others in order to properly function.